#ifndef NVPERF_HOST_WRAPPER_H
#define NVPERF_HOST_WRAPPER_H

#define NVPW_InitializeHost_Params MXPW_InitializeHost_Params
#define NVPW_InitializeHost_Params_STRUCT_SIZE MXPW_InitializeHost_Params_STRUCT_SIZE
#define NVPW_InitializeHost MXPW_InitializeHost

#define NVPA_RawMetricsConfig MXPA_RawMetricsConfig

#define NVPA_RawMetricRequest MXPA_RawMetricRequest
#define NVPA_RAW_METRIC_REQUEST_STRUCT_SIZE MXPA_RAW_METRIC_REQUEST_STRUCT_SIZE

#define NVPW_MetricsEvaluator MXPW_MetricsEvaluator


#define NVPW_RollupOp         MXPW_RollupOp
#define NVPW_ROLLUP_OP_AVG    MXPW_ROLLUP_OP_AVG
#define NVPW_ROLLUP_OP_MAX    MXPW_ROLLUP_OP_MAX
#define NVPW_ROLLUP_OP_MIN    MXPW_ROLLUP_OP_MIN
#define NVPW_ROLLUP_OP_SUM    MXPW_ROLLUP_OP_SUM
#define NVPW_ROLLUP_OP__COUNT MXPW_ROLLUP_OP__COUNT


#define NVPW_MetricType             MXPW_MetricType
#define NVPW_METRIC_TYPE_COUNTER    MXPW_METRIC_TYPE_COUNTER
#define NVPW_METRIC_TYPE_RATIO      MXPW_METRIC_TYPE_RATIO
#define NVPW_METRIC_TYPE_THROUGHPUT MXPW_METRIC_TYPE_THROUGHPUT
#define NVPW_METRIC_TYPE__COUNT     MXPW_METRIC_TYPE__COUNT


#define NVPW_Submetric                       MXPW_Submetric
#define NVPW_SUBMETRIC_NONE                  MXPW_SUBMETRIC_NONE
#define NVPW_SUBMETRIC_PEAK_SUSTAINED        MXPW_SUBMETRIC_PEAK_SUSTAINED
#define NVPW_SUBMETRIC_PEAK_SUSTAINED_ACTIVE MXPW_SUBMETRIC_PEAK_SUSTAINED_ACTIVE
#define NVPW_SUBMETRIC_PEAK_SUSTAINED_ACTIVE_PER_SECOND                                            \
    MXPW_SUBMETRIC_PEAK_SUSTAINED_ACTIVE_PER_SECOND
#define NVPW_SUBMETRIC_PEAK_SUSTAINED_ELAPSED MXPW_SUBMETRIC_PEAK_SUSTAINED_ELAPSED
#define NVPW_SUBMETRIC_PEAK_SUSTAINED_ELAPSED_PER_SECOND                                           \
    MXPW_SUBMETRIC_PEAK_SUSTAINED_ELAPSED_PER_SECOND
#define NVPW_SUBMETRIC_PEAK_SUSTAINED_FRAME MXPW_SUBMETRIC_PEAK_SUSTAINED_FRAME
#define NVPW_SUBMETRIC_PEAK_SUSTAINED_FRAME_PER_SECOND                                             \
    MXPW_SUBMETRIC_PEAK_SUSTAINED_FRAME_PER_SECOND
#define NVPW_SUBMETRIC_PEAK_SUSTAINED_REGION MXPW_SUBMETRIC_PEAK_SUSTAINED_REGION
#define NVPW_SUBMETRIC_PEAK_SUSTAINED_REGION_PER_SECOND                                            \
    MXPW_SUBMETRIC_PEAK_SUSTAINED_REGION_PER_SECOND
#define NVPW_SUBMETRIC_PER_CYCLE_ACTIVE              MXPW_SUBMETRIC_PER_CYCLE_ACTIVE
#define NVPW_SUBMETRIC_PER_CYCLE_ELAPSED             MXPW_SUBMETRIC_PER_CYCLE_ELAPSED
#define NVPW_SUBMETRIC_PER_CYCLE_IN_FRAME            MXPW_SUBMETRIC_PER_CYCLE_IN_FRAME
#define NVPW_SUBMETRIC_PER_CYCLE_IN_REGION           MXPW_SUBMETRIC_PER_CYCLE_IN_REGION
#define NVPW_SUBMETRIC_PER_SECOND                    MXPW_SUBMETRIC_PER_SECOND
#define NVPW_SUBMETRIC_PCT_OF_PEAK_SUSTAINED_ACTIVE  MXPW_SUBMETRIC_PCT_OF_PEAK_SUSTAINED_ACTIVE
#define NVPW_SUBMETRIC_PCT_OF_PEAK_SUSTAINED_ELAPSED MXPW_SUBMETRIC_PCT_OF_PEAK_SUSTAINED_ELAPSED
#define NVPW_SUBMETRIC_PCT_OF_PEAK_SUSTAINED_FRAME   MXPW_SUBMETRIC_PCT_OF_PEAK_SUSTAINED_FRAME
#define NVPW_SUBMETRIC_PCT_OF_PEAK_SUSTAINED_REGION  MXPW_SUBMETRIC_PCT_OF_PEAK_SUSTAINED_REGION
#define NVPW_SUBMETRIC_MAX_RATE                      MXPW_SUBMETRIC_MAX_RATE
#define NVPW_SUBMETRIC_PCT                           MXPW_SUBMETRIC_PCT
#define NVPW_SUBMETRIC_RATIO                         MXPW_SUBMETRIC_RATIO
#define NVPW_SUBMETRIC__COUNT                        MXPW_SUBMETRIC__COUNT


#define NVPW_CUDA_CounterDataBuilder_Create_Params MXPW_MACA_CounterDataBuilder_Create_Params
#define NVPW_CUDA_CounterDataBuilder_Create_Params_STRUCT_SIZE MXPW_MACA_CounterDataBuilder_Create_Params_STRUCT_SIZE
#define NVPW_CUDA_CounterDataBuilder_Create MXPW_MACA_CounterDataBuilder_Create

#define NVPW_CounterDataBuilder_Destroy_Params MXPW_CounterDataBuilder_Destroy_Params
#define NVPW_CounterDataBuilder_Destroy_Params_STRUCT_SIZE MXPW_CounterDataBuilder_Destroy_Params_STRUCT_SIZE
#define NVPW_CounterDataBuilder_Destroy MXPW_CounterDataBuilder_Destroy

#define NVPW_CounterDataBuilder_AddMetrics_Params MXPW_CounterDataBuilder_AddMetrics_Params
#define NVPW_CounterDataBuilder_AddMetrics_Params_STRUCT_SIZE MXPW_CounterDataBuilder_AddMetrics_Params_STRUCT_SIZE
#define NVPW_CounterDataBuilder_AddMetrics MXPW_CounterDataBuilder_AddMetrics

#define NVPW_CounterDataBuilder_GetCounterDataPrefix_Params MXPW_CounterDataBuilder_GetCounterDataPrefix_Params
#define NVPW_CounterDataBuilder_GetCounterDataPrefix_Params_STRUCT_SIZE MXPW_CounterDataBuilder_GetCounterDataPrefix_Params_STRUCT_SIZE
#define NVPW_CounterDataBuilder_GetCounterDataPrefix MXPW_CounterDataBuilder_GetCounterDataPrefix

#define NVPW_GetSupportedChipNames_Params MXPW_GetSupportedChipNames_Params
#define NVPW_GetSupportedChipNames_Params_STRUCT_SIZE MXPW_GetSupportedChipNames_Params_STRUCT_SIZE
#define NVPW_GetSupportedChipNames MXPW_GetSupportedChipNames

#define NVPW_RawMetricsConfig_Destroy_Params MXPW_RawMetricsConfig_Destroy_Params
#define NVPW_RawMetricsConfig_Destroy_Params_STRUCT_SIZE MXPW_RawMetricsConfig_Destroy_Params_STRUCT_SIZE
#define NVPW_RawMetricsConfig_Destroy MXPW_RawMetricsConfig_Destroy

#define NVPW_RawMetricsConfig_SetCounterAvailability_Params MXPW_RawMetricsConfig_SetCounterAvailability_Params
#define NVPW_RawMetricsConfig_SetCounterAvailability_Params_STRUCT_SIZE MXPW_RawMetricsConfig_SetCounterAvailability_Params_STRUCT_SIZE
#define NVPW_RawMetricsConfig_SetCounterAvailability MXPW_RawMetricsConfig_SetCounterAvailability

#define NVPW_RawMetricsConfig_BeginPassGroup_Params MXPW_RawMetricsConfig_BeginPassGroup_Params
#define NVPW_RawMetricsConfig_BeginPassGroup_Params_STRUCT_SIZE MXPW_RawMetricsConfig_BeginPassGroup_Params_STRUCT_SIZE
#define NVPW_RawMetricsConfig_BeginPassGroup MXPW_RawMetricsConfig_BeginPassGroup

#define NVPW_RawMetricsConfig_EndPassGroup_Params MXPW_RawMetricsConfig_EndPassGroup_Params
#define NVPW_RawMetricsConfig_EndPassGroup_Params_STRUCT_SIZE MXPW_RawMetricsConfig_EndPassGroup_Params_STRUCT_SIZE
#define NVPW_RawMetricsConfig_EndPassGroup MXPW_RawMetricsConfig_EndPassGroup

#define NVPW_RawMetricsConfig_AddMetrics_Params MXPW_RawMetricsConfig_AddMetrics_Params
#define NVPW_RawMetricsConfig_AddMetrics_Params_STRUCT_SIZE MXPW_RawMetricsConfig_AddMetrics_Params_STRUCT_SIZE
#define NVPW_RawMetricsConfig_AddMetrics MXPW_RawMetricsConfig_AddMetrics

#define NVPW_RawMetricsConfig_GenerateConfigImage_Params MXPW_RawMetricsConfig_GenerateConfigImage_Params
#define NVPW_RawMetricsConfig_GenerateConfigImage_Params_STRUCT_SIZE MXPW_RawMetricsConfig_GenerateConfigImage_Params_STRUCT_SIZE
#define NVPW_RawMetricsConfig_GenerateConfigImage MXPW_RawMetricsConfig_GenerateConfigImage

#define NVPW_RawMetricsConfig_GetConfigImage_Params MXPW_RawMetricsConfig_GetConfigImage_Params
#define NVPW_RawMetricsConfig_GetConfigImage_Params_STRUCT_SIZE MXPW_RawMetricsConfig_GetConfigImage_Params_STRUCT_SIZE
#define NVPW_RawMetricsConfig_GetConfigImage MXPW_RawMetricsConfig_GetConfigImage

#define NVPW_RawMetricsConfig_GetNumPasses_Params MXPW_RawMetricsConfig_GetNumPasses_Params
#define NVPW_RawMetricsConfig_GetNumPasses_Params_STRUCT_SIZE MXPW_RawMetricsConfig_GetNumPasses_Params_STRUCT_SIZE
#define NVPW_RawMetricsConfig_GetNumPasses MXPW_RawMetricsConfig_GetNumPasses

#define NVPW_MetricEvalRequest MXPW_MetricEvalRequest
#define NVPW_MetricEvalRequest_STRUCT_SIZE MXPW_MetricEvalRequest_STRUCT_SIZE

#define NVPW_MetricsEvaluator_GetMetricTypeAndIndex_Params MXPW_MetricsEvaluator_GetMetricTypeAndIndex_Params
#define NVPW_MetricsEvaluator_GetMetricTypeAndIndex_Params_STRUCT_SIZE MXPW_MetricsEvaluator_GetMetricTypeAndIndex_Params_STRUCT_SIZE
#define NVPW_MetricsEvaluator_GetMetricTypeAndIndex MXPW_MetricsEvaluator_GetMetricTypeAndIndex

#define NVPW_MetricsEvaluator_ConvertMetricNameToMetricEvalRequest_Params MXPW_MetricsEvaluator_ConvertMetricNameToMetricEvalRequest_Params
#define NVPW_MetricsEvaluator_ConvertMetricNameToMetricEvalRequest_Params_STRUCT_SIZE MXPW_MetricsEvaluator_ConvertMetricNameToMetricEvalRequest_Params_STRUCT_SIZE
#define NVPW_MetricsEvaluator_ConvertMetricNameToMetricEvalRequest MXPW_MetricsEvaluator_ConvertMetricNameToMetricEvalRequest

#define NVPW_MetricsEvaluator_Destroy_Params MXPW_MetricsEvaluator_Destroy_Params
#define NVPW_MetricsEvaluator_Destroy_Params_STRUCT_SIZE MXPW_MetricsEvaluator_Destroy_Params_STRUCT_SIZE
#define NVPW_MetricsEvaluator_Destroy MXPW_MetricsEvaluator_Destroy

#define NVPW_MetricsEvaluator_GetMetricNames_Params MXPW_MetricsEvaluator_GetMetricNames_Params
#define NVPW_MetricsEvaluator_GetMetricNames_Params_STRUCT_SIZE MXPW_MetricsEvaluator_GetMetricNames_Params_STRUCT_SIZE
#define NVPW_MetricsEvaluator_GetMetricNames MXPW_MetricsEvaluator_GetMetricNames

#define NVPW_MetricsEvaluator_GetSupportedSubmetrics_Params MXPW_MetricsEvaluator_GetSupportedSubmetrics_Params
#define NVPW_MetricsEvaluator_GetSupportedSubmetrics_Params_STRUCT_SIZE MXPW_MetricsEvaluator_GetSupportedSubmetrics_Params_STRUCT_SIZE
#define NVPW_MetricsEvaluator_GetSupportedSubmetrics MXPW_MetricsEvaluator_GetSupportedSubmetrics

#define NVPW_MetricsEvaluator_GetMetricRawDependencies_Params MXPW_MetricsEvaluator_GetMetricRawDependencies_Params
#define NVPW_MetricsEvaluator_GetMetricRawDependencies_Params_STRUCT_SIZE MXPW_MetricsEvaluator_GetMetricRawDependencies_Params_STRUCT_SIZE
#define NVPW_MetricsEvaluator_GetMetricRawDependencies MXPW_MetricsEvaluator_GetMetricRawDependencies

#define NVPW_MetricsEvaluator_SetDeviceAttributes_Params MXPW_MetricsEvaluator_SetDeviceAttributes_Params
#define NVPW_MetricsEvaluator_SetDeviceAttributes_Params_STRUCT_SIZE MXPW_MetricsEvaluator_SetDeviceAttributes_Params_STRUCT_SIZE
#define NVPW_MetricsEvaluator_SetDeviceAttributes MXPW_MetricsEvaluator_SetDeviceAttributes
#define NVPW_MetricsEvaluator_EvaluateToGpuValues_Params MXPW_MetricsEvaluator_EvaluateToGpuValues_Params
#define NVPW_MetricsEvaluator_EvaluateToGpuValues_Params_STRUCT_SIZE MXPW_MetricsEvaluator_EvaluateToGpuValues_Params_STRUCT_SIZE
#define NVPW_MetricsEvaluator_EvaluateToGpuValues MXPW_MetricsEvaluator_EvaluateToGpuValues

#define NVPW_MetricsEvaluator_HwUnitToString_Params MXPW_MetricsEvaluator_HwUnitToString_Params
#define NVPW_MetricsEvaluator_HwUnitToString_Params_STRUCT_SIZE MXPW_MetricsEvaluator_HwUnitToString_Params_STRUCT_SIZE
#define NVPW_MetricsEvaluator_HwUnitToString MXPW_MetricsEvaluator_HwUnitToString

#define NVPW_MetricsEvaluator_GetCounterProperties_Params MXPW_MetricsEvaluator_GetCounterProperties_Params
#define NVPW_MetricsEvaluator_GetCounterProperties_Params_STRUCT_SIZE MXPW_MetricsEvaluator_GetCounterProperties_Params_STRUCT_SIZE
#define NVPW_MetricsEvaluator_GetCounterProperties MXPW_MetricsEvaluator_GetCounterProperties

#define NVPW_MetricsEvaluator_GetRatioMetricProperties_Params MXPW_MetricsEvaluator_GetRatioMetricProperties_Params
#define NVPW_MetricsEvaluator_GetRatioMetricProperties_Params_STRUCT_SIZE MXPW_MetricsEvaluator_GetRatioMetricProperties_Params_STRUCT_SIZE
#define NVPW_MetricsEvaluator_GetRatioMetricProperties MXPW_MetricsEvaluator_GetRatioMetricProperties

#define NVPW_MetricsEvaluator_GetThroughputMetricProperties_Params MXPW_MetricsEvaluator_GetThroughputMetricProperties_Params
#define NVPW_MetricsEvaluator_GetThroughputMetricProperties_Params_STRUCT_SIZE MXPW_MetricsEvaluator_GetThroughputMetricProperties_Params_STRUCT_SIZE
#define NVPW_MetricsEvaluator_GetThroughputMetricProperties MXPW_MetricsEvaluator_GetThroughputMetricProperties

#endif
